Skip to content

Add transfer room ownership feature#6243

Open
nathanael-h wants to merge 2 commits into
bigbluebutton:masterfrom
nathanael-h:feature/transfer-room-ownership
Open

Add transfer room ownership feature#6243
nathanael-h wants to merge 2 commits into
bigbluebutton:masterfrom
nathanael-h:feature/transfer-room-ownership

Conversation

@nathanael-h

@nathanael-h nathanael-h commented Mar 31, 2026

Copy link
Copy Markdown

Hello dear maintainers, a colleague asked me if we can change the ownser of a room. I saw in #5178 (comment) that some people are doing this directly in the database. I took a look here and there, and indeed this looks, ower is just a user id, and that's pretty much it. So I started this PR to offer a more user friendly way to do this. To be transparent, I used the help of claude. I also tested this on an internal testing BBB 3 instance.

  • POST /api/v1/rooms/:friendly_id/transfer_ownership endpoint, owner-only
  • GET /api/v1/shared_accesses/:friendly_id/transferable_users endpoint
  • TransferOwnershipForm with danger alert and radio-button user selection
  • "Transfer Ownership" button in Settings panel alongside Delete button
  • Navigates back to /rooms on success (owner loses access to transferred room, maybe we could automatically share the room to previous owner?)

Questions for the maintainers could be:

  • is this ownership transfer safe?
  • if so, can we have a UI for this?

Fix #6216 and fix #5178

- POST /api/v1/rooms/:friendly_id/transfer_ownership endpoint, owner-only
- GET /api/v1/shared_accesses/:friendly_id/transferable_users endpoint
- TransferOwnershipForm with danger alert and radio-button user selection
- Red "Transfer Ownership" button in SharedAccess panel alongside share button
- Navigates back to /rooms on success (owner loses access to transferred room)
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
6.8% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Extract UserSearchTable component and useUserSearch hook to eliminate
identical table JSX and useQuery blocks across SharedAccessForm and
TransferOwnershipForm. Extract search_valid? and search_users helpers
in the controller. Fix nested array wrapping in where.not/where(role_id)
clauses. Addresses SonarCloud duplication gate failure (6.8% → <3%).
@nathanael-h nathanael-h force-pushed the feature/transfer-room-ownership branch from 596f310 to a2a0b11 Compare June 9, 2026 08:59
@sonarqubecloud

sonarqubecloud Bot commented Jun 9, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Possiblity to change a room owner How change room owner before deactivate/delete user ?

1 participant